import 'package:flutter/material.dart';
import 'package:surfaceim/common/routes/routes.dart';
import 'package:surfaceim/common/widgets/widgets.dart';

// import 'package:surfaceim/common/apis/apis.dart';
// import 'package:surfaceim/common/entities/entities.dart';
// import 'package:surfaceim/common/services/storage.dart';
// import 'package:surfaceim/common/store/store.dart';
// import 'package:surfaceim/common/utils/utils.dart';
// import 'package:surfaceim/common/values/values.dart';
import 'package:get/get.dart';

// import 'package:video_player/video_player.dart';
// import 'package:chewie/chewie.dart';

import 'index.dart';

class SignInController extends GetxController {
  final state = SignInState();

  SignInController();

  // email的控制器
  final TextEditingController emailController = TextEditingController();
  // 密码的控制器
  final TextEditingController passController = TextEditingController();

  // final MyRepository repository;
  // SignInController({@required this.repository}) : assert(repository != null);

  // 跳转 注册界面
  handleNavSignUp() {
    Get.toNamed(AppRoutes.SIGN_UP);
  }

  // 忘记密码
  handleFogotPassword() {
    Get.toNamed(AppRoutes.BASIC_INFORMATION);
    toastInfo(msg: '忘记密码');
  }

  // late VideoPlayerController videoController;
  // late ChewieController chewieController;
  @override
  void onInit() async {
    // await videoController.initialize(); // 初始化
    // await videoController.setLooping(true); // 循环播放
    // await videoController.play();
    // videoController = VideoPlayerController.asset('assets/video/1.mov');
    // chewieController = ChewieController(
    //   videoPlayerController: videoController,
    //   aspectRatio: Get.width / Get.height,
    //   autoPlay: true,
    //   looping: true,
    //   autoInitialize: true,
    //   showControls: false, // 隐藏控件
    //   showControlsOnInitialize: false,
    //   // fullScreenByDefault: true, // 自动全屏
    // );
    // await videoController.setVolume(0); // 静音

    super.onInit();
  }

  // 执行登录操作
  handleSignIn() async {
    // if (!duIsEmail(emailController.value.text)) {
    //   toastInfo(msg: '请正确输入邮箱');
    //   return;
    // }
    // if (!duCheckStringLength(passController.value.text, 6)) {
    //   toastInfo(msg: '密码不能小于6位');
    //   return;
    // }

    // UserLoginRequestEntity params = UserLoginRequestEntity(
    //   email: emailController.value.text,
    //   password: duSHA256(passController.value.text),
    // );
    //
    // UserLoginResponseEntity userProfile = await UserAPI.login(
    //   params: params,
    // );
    // UserStore.to.saveProfile(userProfile);

    // Get.offAndToNamed(AppRoutes.Application);

    // StorageService.to.setBool(STORAGE_DEVICE_FIRST_OPEN_KEY, true);

    // print(UserStore.to.isLogin);

    // return;
    Get.toNamed(AppRoutes.Application);
  }

  @override
  void onReady() {
    super.onReady();
  }

  @override
  void onClose() {
    // 页面销毁时关闭video
    // videoController.dispose();
    // chewieController.dispose();
    print('销毁视频');
    super.onClose();
  }

  @override
  void dispose() {
    emailController.dispose();
    passController.dispose();

    super.dispose();
  }
}



/*
videoPlayerController	视频的控制器
autoInitialize	在启动时初始化视频。 这将准备播放视频。
startAt	在特定位置开始播放视频
autoPlay	显示视频后立即播放
looping	视频是否应循环播放
showControlsOnInitialize	初始化小部件时是否显示控件。
showControls	是否完全显示控件
customControls	定义自定义控件
errorBuilder	当视频播放出现错误时，您可以构建自定义
aspectRatio	视频的宽高比。 重要的是要获得正确的尺寸，将回退到适合的空间内。
cupertinoProgressColors	用于iOS控件的颜色。 默认情况下，iOS播放器使用，从原始iOS 11设计中采样的颜色。
materialProgressColors	物料进度条要使用的颜色。 默认情况下，材质 播放器使用主题中的颜色。
placeholder	初始化之前，占位符显示在视频下方
overlay	在视频和控件之间放置的小部件
fullScreenByDefault	定义按下播放器时播放器是否以全屏启动
allowedScreenSleep	定义播放器是否全屏睡眠
allowFullScreen	定义是否应显示全屏控件
isLive	定义控件是否应用于实时流视频
allowMuting	定义是否应显示静音控件
systemOverlaysAfterFullScreen	定义退出全屏后可见的系统覆盖
deviceOrientationsAfterFullScreen	退出全屏后定义一组允许的设备方向
routePageBuilder	为全屏定义自定义RoutePageBuilder

*/
